home *** CD-ROM | disk | FTP | other *** search
- **********************************************************************
- * Vier gewinnt *
- * *
- * Ein kleines Spektakulum *
- * von Claus Brod und Meinhard Ullrich *
- **********************************************************************
-
-
- NEIN, NICHT SCHON WIEDER!
- -------------------------
-
- Recht haben Sie. Spielchen wie unser 'Vier gewinnt' gibt es nun wirklich
- bei jedem Bäcker und für jeden Rechner. Warum wir so ein Paraphernalium
- trotzdem in die Welt setzen? 'Vier gewinnt' ist ein vom theoretischen
- Standpunkt her interessantes Spielchen, weil es so einfach ist.
- Wir haben daran ausprobiert, wie sich verschiedene Bewertungsfunktionen
- auf die Leistung eines Strategiespielprogrammes auswirken. Außerdem
- diente es als Referenzprogramm bei einem kleinen Vier-gewinnt-Turnier,
- das im Wintersemester 1990/91 im Rahmen der Vorlesung 'Programmierung
- neuronaler Netze' an der Uni Erlangen stattfand. Dabei spielte es außer
- Konkurrenz gegen einige auf neuronalen Netzen basierende Programme und
- gewann haushoch.
-
- Was Sie davon haben? Einerseits bilden wir uns ein, daß dieses Programm
- verteufelt gut spielt, obwohl es eine einfache Strategie verfolgt.
- Andererseits ist es voll in GEM eingebunden, wobei wir auf saubere
- Programmierung Wert legten. Frucht dieser Bemühungen: Unser 'Vier
- gewinnt' läuft als Accessory oder Programm auf allen ST-Rechnern
- sowie auf dem TT, und das in allen Auflösungen (naja, 80 Zeichen
- horizontal sollten's schon sein).
-
-
- DAS SPIEL
- ---------
-
- Die Regeln von 'Vier gewinnt' sind sehr einfach. In ein
- matrixförmiges Spielfeld mit sieben Spalten und sechs Zeilen
- setzen zwei Spieler abwechselnd Spielsteine ihrer Farbe. Erlaubt
- sind dabei in jeder Spalte nur die jeweils untersten, freien
- Positionen. Man könnte sich das bildlich so vorstellen, daß jeder
- Spieler einen Stein seiner Farbe in eine Spalte wirft, der nach
- unten rutscht, bis er auf ein Hindernis trifft. Natürlich darf
- nur dann ein Stein in eine Spalte geworfen werden, wenn in dieser
- Spalte noch mindestens eine Position frei ist.
-
- Ziel des Spiels ist es, vier Steine der eigenen Farbe horizontal,
- vertikal oder diagonal aneinanderzureihen. Wer als erster Spieler
- eine solche Vierermühle besitzt, hat gewonnen. Da das Spielfeld nur
- 42 Felder hat, ist das Spiel nach spätestens 21 Zügen beendet. Bei
- erfahrenen Spielern fällt die Entscheidung oft sehr spät. Häufig ist
- es so, daß beide Spieler in derselben Spalte (oder sogar auf dem-
- selben Feld) mit einer Vierermühle drohen und ein Spieler dem anderen
- durch Zugzwang den Weg ebnen muß. Ein Tip: Es ist wichtig, sich
- während der Eröffnung eine gute Position in der mittleren Spalte
- zu verschaffen!
-
-
- BEDIENUNG
- ---------
-
- 'Vier gewinnt' öffnet ein GEM-Fenster mit einem Verschiebebalken
- und einem Schließknopf. Wie Sie damit umgehen, wissen Sie sicher.
- Wenn Sie gegen den Rechner spielen wollen, starten Sie 'Vier gewinnt'
- durch Doppelklick oder aber durch Anklicken im Desk-Menü, wenn es
- als Accessory läuft. 'Vier gewinnt' versteht auch die spezielle
- Nachricht, die GEMINI bei einem Doppelklick auf ein installiertes
- Accessory verschickt. Danach stellen Sie den Schwierigkeitsgrad
- in der 'Limit'-Box ein. Wenn Sie selbst anfangen wollen, klicken
- Sie einfach in die Spalte auf dem Spielfeld, in die Sie einen
- Stein setzen wollen. Soll der Rechner anfangen, klicken Sie auf
- 'Neues Spiel'. Dabei wird das Spielfeld geleert (das ist es im
- Moment natürlich sowieso schon), und Sie werden gefragt, ob der
- Rechner beginnen soll.
-
- Im folgenden wird abwechselnd gezogen. Wenn Sie einen Stein versehentlich
- an die falsche Stelle gesetzt haben, können Sie Ihren Zug mit 'Hoppla'
- zurücknehmen. Dabei müssen Sie dann aber auch ein tadelndes Wort
- ertragen...
-
- Im 'Limit'-Feld haben Sie die Auswahl, ob das Programm nur bis zu
- einer bestimmten Halbzugtiefe rechnen oder innerhalb einer gegebenen
- Zeit zu einem Beschluß kommen soll. Voreingestellt sind 10 Sekunden
- Bedenkzeit für das Programm, was für eine passable Leistung ausreicht.
- Wenn Sie sich für ein Halbzuglimit entscheiden, sollten Sie dem
- Programm mindestens vier Halbzüge geben, alles andere läuft auf
- eine Kastration hinaus. Bei einer Beschränkung auf eine bestimmte
- Bedenkzeit wundern Sie sich bitte nicht, wenn die eingestellte
- Bedenkzeit gelegentlich leicht überschritten wird. Sie genau einzuhalten,
- bedeutet einen erheblich größeren Programmieraufwand, der sich nicht
- lohnt. Des öfteren wird sie auch nicht komplett ausgenutzt, so daß
- sich das ausgleicht.
-
- Im 'Info'-Feld geben verschiedene Felder Auskunft über die aktuelle
- Denktiefe des Programms in Halbzügen, die für die Berechnung des
- nächsten Zuges bisher verbrauchte Zeit in Millisekunden, sowie die
- Bewertung des Programmes für die aktuelle Stellung aus seiner
- Sicht.
-
-
- TECHNISCHES
- -----------
-
- 'Vier gewinnt' ist ein Public-Domain-Programm. Jeder darf es sich
- kopieren, solange auch diese Anleitung kopiert wird. Wer sich für
- den Quellcode interessiert, kann ihn von uns bekommen, wenn er uns
- eine Diskette in einem frankierten Rückumschlag schickt und 10 DM
- beilegt.
-
- 'Vier gewinnt' ist relativ spielstark; wir kennen jedenfalls
- kein besseres Programm. Es beruht auf einem optimierten Alpha-Beta-
- Algorithmus, der sich wiederum auf eine extrem schlanke
- Bewertungsfunktion verläßt. Wir haben dabei auf die Erfahrungen
- aus unserer Studienarbeit, in der wir verschiedene Mühleprogramme
- implementierten, zurückgegriffen. Unsere Forschung setzen wir derzeit
- als Diplomarbeit fort.
-
- Geschrieben ist das Programm in hohem C (ST-Version: TC 2.03).
- Natürlich könnte man die Suchroutinen auch in Assembler
- verfassen, aber das bringt einerseits weniger als eine weitere
- Verfeinerung des Algorithmus und andererseits verhindert es,
- daß dieses Programm einmal auf anderen Rechnern läuft. Zur Zeit
- gibt es noch eine Version für den Amiga, allerdings ohne
- grafische Oberfläche; einer Portierung auf Workstations oder
- PCs steht nichts im Wege.
-
- Für Fehlverhalten unseres Programms, eventuelle Schäden, die durch
- unser Programm verursacht werden, und für destruktive psychologische
- Greuel, die es bei seinen Gegnern anrichtet, wenn es Spiel um Spiel
- gewinnt, übernehmen wir keinerlei Verantwortung. Euer Bier.
-
- Claus Brod
- Am Felsenkeller 2
- 8772 Marktheidenfeld
- 09391-3206
- csbrod@medusa.informatik.uni-erlangen.de
-
-
- Meinhard Ullrich
- Birkenstraße 4
- 8771 Urspringen
- 09396-1508
- mdullric@faui09.informatik.uni-erlangen.de
-